home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / Copland ResourcesLib / System8Resources.h < prev    next >
C/C++ Source or Header  |  1995-09-01  |  4KB  |  106 lines

  1. /*
  2.     File:        System8Resources.h
  3.  
  4.     Contains:    The System 7 resource manager redefined in
  5.                     terms of the System 8 Resource Manager.
  6.     
  7.     Version:    1.0
  8.     
  9.     Copyright:    ©1995 Apple Computer.  All Rights Reserved.
  10. */
  11.  
  12. #ifndef __SYS8RESOURCES__
  13. #define __SYS8RESOURCES__
  14. #include <Resources.h>
  15.  
  16. #if (!SystemEightOrLater)
  17.  
  18. typedef short ResFileRefNum;
  19.  
  20. typedef short ResID;
  21.  
  22. typedef short ResAttributes;
  23.  
  24. typedef short ResFileAttributes;
  25.  
  26. enum {
  27.     kResFileReadOnlyPermission    = 100,
  28.     kResFileReadWriteExclusivePermission = 101
  29. };
  30.  
  31. typedef UInt32 ResFilePermissions;
  32.  
  33. // * these can't be supported under the System 7 resource manager
  34. //    without hacks which may not work under the System 7.5.3 res manager.
  35. //extern OSStatus RMRemoveResFileFromSearchPath(ResFileRefNum refNum);
  36. //extern OSStatus RMAddResFileToSearchPath(ResFileRefNum refNum);
  37.  
  38. // *these functions can't be supported without some emulation
  39. //    of the Scarecrow filesystem, which I'm reluctant to do
  40. //    without being paid.  I've create FileSpec-using equivalents,
  41. //  below.
  42.  
  43. //extern OSStatus RMCreateResFile(FSObjectSpecification *specification);
  44. //extern OSStatus RMOpenResFile(FSObjectSpecification *specification, ResFilePermissions permissions, Boolean resLoad, ResFileRefNum *refNum);
  45.  
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49.  
  50. // * these two are __not__ part of the System 8 Resource Manager - see above
  51. extern OSStatus RMFSpCreateResFile(FSSpec *inSpec, OSType creator, OSType fileType, ScriptCode scriptTag);
  52. extern OSStatus RMFSpOpenResFile(FSSpec *specification, ResFilePermissions permissions, Boolean resLoad, ResFileRefNum *refNum);
  53.  
  54. extern OSStatus RMCloseResFile(ResFileRefNum refNum);
  55. extern OSStatus RMUpdateResFile(ResFileRefNum refNum);
  56.  
  57. extern OSStatus RMUseResFile(ResFileRefNum refNum);
  58. extern OSStatus RMCurResFile(ResFileRefNum *refNum);
  59. extern OSStatus RMHomeResFile(Handle theResource, ResFileRefNum *refNum);
  60.  
  61. extern OSStatus RMAddResource(Handle theData, ResType theType, ResID theID, ConstStr255Param name);
  62. extern OSStatus RMRemoveResource(Handle theResource);
  63.  
  64. extern OSStatus RMCountTypes(Boolean oneDeep, UInt32 *count);
  65. extern OSStatus RMGetIndexedType(UInt32 index, Boolean oneDeep, ResType *theType);
  66. extern OSStatus RMCountResources(ResType theType, Boolean oneDeep, UInt32 *count);
  67.  
  68. extern OSStatus RMGetIndexedResource(ResType theType, UInt32 index, Boolean oneDeep, Boolean resLoad, Handle *handle);
  69. extern OSStatus RMGetResource(ResType theType, ResID theID, Boolean oneDeep, Boolean resLoad, Handle *handle);
  70. extern OSStatus RMGetNamedResource(ResType theType, ConstStr255Param name, Boolean oneDeep, Boolean resLoad, Handle *handle);
  71.  
  72. extern OSStatus RMLoadResource(Handle theResource);
  73.  
  74. extern OSStatus RMReleaseResource(Handle theResource);
  75. extern OSStatus RMDetachResource(Handle theResource);
  76.  
  77. extern OSStatus RMChangedResource(Handle theResource);
  78.  
  79. extern OSStatus RMWriteResource(Handle theResource);
  80. extern OSStatus RMSetResourceSize(Handle theResource, SInt32 newSize);
  81.  
  82. extern OSStatus RMUniqueID(ResType theType, Boolean oneDeep, ResID *idPtr);
  83. extern OSStatus RMGetResAttributes(Handle theResource, ResAttributes *attributes);
  84.  
  85. // *    System 7 SetResInfo doesn't support setting the type of
  86. //                resources, so we don't here either.
  87.  
  88. extern OSStatus RMGetResInfo(Handle theResource, ResType *typePtr, ResID *idPtr, Str255 name);
  89. extern OSStatus RMSetResInfo(Handle theResource, ResType /* theType */, ResID theID, ConstStr255Param name);
  90. extern OSStatus RMSetResAttributes(Handle theResource, ResAttributes attrs);
  91.  
  92. extern OSStatus RMReadPartialResource(Handle theResource, UInt32 offset, void *buffer, UInt32 count);
  93. extern OSStatus RMWritePartialResource(Handle theResource, UInt32 offset, const void *buffer, UInt32 count);
  94.  
  95. extern OSStatus RMGetResourceSize(Handle theResource, SInt32 *size);
  96. extern OSStatus RMSetResErrProc(ResErrUPP proc);
  97.  
  98. extern OSStatus RMSetResFileReadOnlyState(ResFileRefNum refNum, Boolean isReadOnly);
  99. extern OSStatus RMGetResFileReadOnlyState(ResFileRefNum refNum, Boolean *isReadOnly);
  100.  
  101. #ifdef __cplusplus
  102. }
  103. #endif
  104.  
  105. #endif
  106. #endif //__SYS8RESOURCES__